package com.xxx.study.designmodel.d单例模式;

/**
 * 静态内部类创建单例
 */
public class InnerClassSingleton {

    private String content;

    public String getContent() {
        return content;
    }

    /**
     *
     * 静态内部类，在首次使用时才会被初始化
     * 可以延迟创建对象，同时又通过static 机制保证线程安全
     */
    private static class SingletonHolder{
        private static InnerClassSingleton singleton = new InnerClassSingleton("静态内部类创建单例");
    }

    /**
     * 私有化构造方法
     * @param content
     */
    private InnerClassSingleton(String content) {
        this.content = content;
    }

    public static InnerClassSingleton getInstance() {
        try{
            Thread.sleep(1);
        } catch (Exception e){

        }
        return SingletonHolder.singleton;
    }
}
